﻿
	using System; 
	using System.Collections;
	using System.Collections.Generic ;
	using System.Runtime.Serialization;

namespace UFIDA.U9.CUST.AITBarCodeBE
{
	/// <summary>
	/// AIT条码 缺省DTO 
	/// 
	/// </summary>
	[DataContract(Name = "UFIDA.U9.CUST.AITBarCodeBE.AITBarCodeData", Namespace = "http://www.UFIDA.org/EntityData",IsReference=true)]	
	[Serializable]
    [KnownType("GetKnownTypes")]
	public partial class AITBarCodeData : UFSoft.UBF.Business.DataTransObjectBase
	{

	    public static IList<Type> GetKnownTypes()
        {
            IList<Type> knownTypes = new List<Type>();
            
                        
                        
                        
                        
                        
                                        knownTypes.Add(typeof(UFIDA.U9.CBO.SCM.Item.ItemMasterData));
                                        knownTypes.Add(typeof(UFIDA.U9.Base.UOM.UOMData));
                        
                        
                                        knownTypes.Add(typeof(UFIDA.U9.Lot.LotMasterData));
                        
                        
                        
                        
                        
                        
                                        knownTypes.Add(typeof(UFIDA.U9.Base.PropertyTypes.BizEntityKeyData));
                        
                                        knownTypes.Add(typeof(UFIDA.U9.CBO.SCM.ProjectTask.ProjectData));
                                        knownTypes.Add(typeof(UFIDA.U9.CBO.SCM.Customer.CustomerData));
                                        knownTypes.Add(typeof(UFIDA.U9.CBO.SCM.Supplier.SupplierData));
                                        knownTypes.Add(typeof(UFIDA.U9.Base.FlexField.DescFlexField.DescFlexSegmentsData));
                        
                        
                                        knownTypes.Add(typeof(UFIDA.U9.Base.PropertyTypes.BizEntityKeyData));
                        
                        
                        
            
                knownTypes.Add(typeof(UFSoft.UBF.Util.Data.MultiLangDataDict));
            return knownTypes;
        }
		/// <summary>
		/// Default Constructor
		/// </summary>
		public AITBarCodeData()
		{
			initData() ;
		}
		private void initData()
		{
			//设置默认值
	     			
	     			
	     			
	     			
	     			
	     							SysVersion= 0; 			     			
	     			
	     							Qty=0m; 
	     			
	     			
	     							LotValidDate= 0; 			     			
	     			
	     							PrintNum= 0; 			     			
	     			
	     			
	     			
	     			
	     			
	     			
	     			
	     							SrcDocLineNo= 0; 			     			
	     			
	     							Grade= -1; 			     							Element= -1; 			     							BarQty=0m; 


			//设置组合的集合属性为List<>对象. -目前直接在属性上处理.
			
			//调用默认值初始化服务进行配置方式初始化
			UFSoft.UBF.Service.DTOService.InitConfigDefault(this);
		}		
		[System.Runtime.Serialization.OnDeserializing]
        internal void OnDeserializing(System.Runtime.Serialization.StreamingContext context)
        {
			 initData();
        }
        
		#region System Fields
		///<summary>
		/// 实体类型. 
		/// </summary>
		[DataMember(IsRequired=false)]
		public override string SysEntityType
		{
			get { return "UFIDA.U9.CUST.AITBarCodeBE.AITBarCode" ;}
		}
		#endregion


		
		#region Properties Inner Component
	
		#endregion	

		#region Properties Outer Component
		
				/// <summary>
		/// ID
		/// AIT条码.Key.ID
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Int64 m_iD ;
		public System.Int64 ID
		{
			get	
			{	
				return m_iD  ;
			}
			set	
			{	
				m_iD = value ;	
			}
		}
		

				/// <summary>
		/// 创建时间
		/// AIT条码.Sys.创建时间
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.DateTime m_createdOn ;
		public System.DateTime CreatedOn
		{
			get	
			{	
				return m_createdOn  ;
			}
			set	
			{	
				m_createdOn = value ;	
			}
		}
		

				/// <summary>
		/// 创建人
		/// AIT条码.Sys.创建人
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.String m_createdBy ;
		public System.String CreatedBy
		{
			get	
			{	
				return m_createdBy  ;
			}
			set	
			{	
				m_createdBy = value ;	
			}
		}
		

				/// <summary>
		/// 修改时间
		/// AIT条码.Sys.修改时间
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.DateTime m_modifiedOn ;
		public System.DateTime ModifiedOn
		{
			get	
			{	
				return m_modifiedOn  ;
			}
			set	
			{	
				m_modifiedOn = value ;	
			}
		}
		

				/// <summary>
		/// 修改人
		/// AIT条码.Sys.修改人
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.String m_modifiedBy ;
		public System.String ModifiedBy
		{
			get	
			{	
				return m_modifiedBy  ;
			}
			set	
			{	
				m_modifiedBy = value ;	
			}
		}
		

				/// <summary>
		/// 事务版本
		/// AIT条码.Sys.事务版本
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Int64 m_sysVersion ;
		public System.Int64 SysVersion
		{
			get	
			{	
				return m_sysVersion  ;
			}
			set	
			{	
				m_sysVersion = value ;	
			}
		}
		

		
		private UFSoft.UBF.Business.BusinessEntity.EntityKey m_item_SKey ;
		/// <summary>
		/// 料品 序列化Key属性。（传递跨组织序列列字段）
		/// AIT条码.Misc.料品
		/// </summary>
		[DataMember(IsRequired=false)]
		public UFSoft.UBF.Business.BusinessEntity.EntityKey Item_SKey
		{
			get 
			{
				return m_item_SKey ;					
			}
			set
			{
				 m_item_SKey = value ;	
			}
		}
		/// <summary>
		/// 料品
		/// AIT条码.Misc.料品
		/// </summary>
		[DataMember(IsRequired=false)]
		public System.Int64 Item
		{
			get	
			{	
				if (Item_SKey == null)
					return UFSoft.UBF.Business.Entity.EmptyObjectValue ;
				else
					return Item_SKey.ID ;
			}
			set	
			{	
				if (value == 0 || value == UFSoft.UBF.Business.Entity.EmptyObjectValue )
					Item_SKey = null ;
				else
				{
					if (Item_SKey == null )
						Item_SKey = new UFSoft.UBF.Business.BusinessEntity.EntityKey(value,"UFIDA.U9.CBO.SCM.Item.ItemMaster") ;
					else
						Item_SKey.ID = value ;
				}
			}
		}
		

		
		private UFSoft.UBF.Business.BusinessEntity.EntityKey m_uOM_SKey ;
		/// <summary>
		/// 单位 序列化Key属性。（传递跨组织序列列字段）
		/// AIT条码.Misc.单位
		/// </summary>
		[DataMember(IsRequired=false)]
		public UFSoft.UBF.Business.BusinessEntity.EntityKey UOM_SKey
		{
			get 
			{
				return m_uOM_SKey ;					
			}
			set
			{
				 m_uOM_SKey = value ;	
			}
		}
		/// <summary>
		/// 单位
		/// AIT条码.Misc.单位
		/// </summary>
		[DataMember(IsRequired=false)]
		public System.Int64 UOM
		{
			get	
			{	
				if (UOM_SKey == null)
					return UFSoft.UBF.Business.Entity.EmptyObjectValue ;
				else
					return UOM_SKey.ID ;
			}
			set	
			{	
				if (value == 0 || value == UFSoft.UBF.Business.Entity.EmptyObjectValue )
					UOM_SKey = null ;
				else
				{
					if (UOM_SKey == null )
						UOM_SKey = new UFSoft.UBF.Business.BusinessEntity.EntityKey(value,"UFIDA.U9.Base.UOM.UOM") ;
					else
						UOM_SKey.ID = value ;
				}
			}
		}
		

				/// <summary>
		/// 数量
		/// AIT条码.Misc.数量
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Decimal m_qty ;
		public System.Decimal Qty
		{
			get	
			{	
				return m_qty  ;
			}
			set	
			{	
				m_qty = value ;	
			}
		}
		

				/// <summary>
		/// 批号
		/// AIT条码.Misc.批号
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.String m_lotCode ;
		public System.String LotCode
		{
			get	
			{	
				return m_lotCode  ;
			}
			set	
			{	
				m_lotCode = value ;	
			}
		}
		

		
		private UFSoft.UBF.Business.BusinessEntity.EntityKey m_lotMaster_SKey ;
		/// <summary>
		/// 批号主档 序列化Key属性。（传递跨组织序列列字段）
		/// AIT条码.Misc.批号主档
		/// </summary>
		[DataMember(IsRequired=false)]
		public UFSoft.UBF.Business.BusinessEntity.EntityKey LotMaster_SKey
		{
			get 
			{
				return m_lotMaster_SKey ;					
			}
			set
			{
				 m_lotMaster_SKey = value ;	
			}
		}
		/// <summary>
		/// 批号主档
		/// AIT条码.Misc.批号主档
		/// </summary>
		[DataMember(IsRequired=false)]
		public System.Int64 LotMaster
		{
			get	
			{	
				if (LotMaster_SKey == null)
					return UFSoft.UBF.Business.Entity.EmptyObjectValue ;
				else
					return LotMaster_SKey.ID ;
			}
			set	
			{	
				if (value == 0 || value == UFSoft.UBF.Business.Entity.EmptyObjectValue )
					LotMaster_SKey = null ;
				else
				{
					if (LotMaster_SKey == null )
						LotMaster_SKey = new UFSoft.UBF.Business.BusinessEntity.EntityKey(value,"UFIDA.U9.Lot.LotMaster") ;
					else
						LotMaster_SKey.ID = value ;
				}
			}
		}
		

				/// <summary>
		/// 有效期
		/// AIT条码.Misc.有效期
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Int32 m_lotValidDate ;
		public System.Int32 LotValidDate
		{
			get	
			{	
				return m_lotValidDate  ;
			}
			set	
			{	
				m_lotValidDate = value ;	
			}
		}
		

				/// <summary>
		/// 失效日期
		/// AIT条码.Misc.失效日期
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.DateTime m_disabledDatetime ;
		public System.DateTime DisabledDatetime
		{
			get	
			{	
				return m_disabledDatetime  ;
			}
			set	
			{	
				m_disabledDatetime = value ;	
			}
		}
		

				/// <summary>
		/// 条码
		/// AIT条码.Misc.条码
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.String m_barCode ;
		public System.String BarCode
		{
			get	
			{	
				return m_barCode  ;
			}
			set	
			{	
				m_barCode = value ;	
			}
		}
		

				/// <summary>
		/// 打印次数
		/// AIT条码.Misc.打印次数
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Int32 m_printNum ;
		public System.Int32 PrintNum
		{
			get	
			{	
				return m_printNum  ;
			}
			set	
			{	
				m_printNum = value ;	
			}
		}
		

				/// <summary>
		/// 打印人
		/// AIT条码.Misc.打印人
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.String m_printer ;
		public System.String Printer
		{
			get	
			{	
				return m_printer  ;
			}
			set	
			{	
				m_printer = value ;	
			}
		}
		

				/// <summary>
		/// 打印时间
		/// AIT条码.Misc.打印时间
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.DateTime m_printTime ;
		public System.DateTime PrintTime
		{
			get	
			{	
				return m_printTime  ;
			}
			set	
			{	
				m_printTime = value ;	
			}
		}
		

				/// <summary>
		/// 来源单据
		/// AIT条码.Misc.来源单据
		/// </summary>
		[DataMember(IsRequired=false)]
		private UFIDA.U9.Base.PropertyTypes.BizEntityKeyData m_srcDoc ;
		public UFIDA.U9.Base.PropertyTypes.BizEntityKeyData SrcDoc
		{
			get	
			{	
				return m_srcDoc  ;
			}
			set	
			{	
				m_srcDoc = value ;	
			}
		}
		

				/// <summary>
		/// 来源单号
		/// AIT条码.Misc.来源单号
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.String m_srcDocNo ;
		public System.String SrcDocNo
		{
			get	
			{	
				return m_srcDocNo  ;
			}
			set	
			{	
				m_srcDocNo = value ;	
			}
		}
		

		
		private UFSoft.UBF.Business.BusinessEntity.EntityKey m_project_SKey ;
		/// <summary>
		/// 项目 序列化Key属性。（传递跨组织序列列字段）
		/// AIT条码.Misc.项目
		/// </summary>
		[DataMember(IsRequired=false)]
		public UFSoft.UBF.Business.BusinessEntity.EntityKey Project_SKey
		{
			get 
			{
				return m_project_SKey ;					
			}
			set
			{
				 m_project_SKey = value ;	
			}
		}
		/// <summary>
		/// 项目
		/// AIT条码.Misc.项目
		/// </summary>
		[DataMember(IsRequired=false)]
		public System.Int64 Project
		{
			get	
			{	
				if (Project_SKey == null)
					return UFSoft.UBF.Business.Entity.EmptyObjectValue ;
				else
					return Project_SKey.ID ;
			}
			set	
			{	
				if (value == 0 || value == UFSoft.UBF.Business.Entity.EmptyObjectValue )
					Project_SKey = null ;
				else
				{
					if (Project_SKey == null )
						Project_SKey = new UFSoft.UBF.Business.BusinessEntity.EntityKey(value,"UFIDA.U9.CBO.SCM.ProjectTask.Project") ;
					else
						Project_SKey.ID = value ;
				}
			}
		}
		

		
		private UFSoft.UBF.Business.BusinessEntity.EntityKey m_customer_SKey ;
		/// <summary>
		/// 客户 序列化Key属性。（传递跨组织序列列字段）
		/// AIT条码.Misc.客户
		/// </summary>
		[DataMember(IsRequired=false)]
		public UFSoft.UBF.Business.BusinessEntity.EntityKey Customer_SKey
		{
			get 
			{
				return m_customer_SKey ;					
			}
			set
			{
				 m_customer_SKey = value ;	
			}
		}
		/// <summary>
		/// 客户
		/// AIT条码.Misc.客户
		/// </summary>
		[DataMember(IsRequired=false)]
		public System.Int64 Customer
		{
			get	
			{	
				if (Customer_SKey == null)
					return UFSoft.UBF.Business.Entity.EmptyObjectValue ;
				else
					return Customer_SKey.ID ;
			}
			set	
			{	
				if (value == 0 || value == UFSoft.UBF.Business.Entity.EmptyObjectValue )
					Customer_SKey = null ;
				else
				{
					if (Customer_SKey == null )
						Customer_SKey = new UFSoft.UBF.Business.BusinessEntity.EntityKey(value,"UFIDA.U9.CBO.SCM.Customer.Customer") ;
					else
						Customer_SKey.ID = value ;
				}
			}
		}
		

		
		private UFSoft.UBF.Business.BusinessEntity.EntityKey m_supplier_SKey ;
		/// <summary>
		/// 供应商 序列化Key属性。（传递跨组织序列列字段）
		/// AIT条码.Misc.供应商
		/// </summary>
		[DataMember(IsRequired=false)]
		public UFSoft.UBF.Business.BusinessEntity.EntityKey Supplier_SKey
		{
			get 
			{
				return m_supplier_SKey ;					
			}
			set
			{
				 m_supplier_SKey = value ;	
			}
		}
		/// <summary>
		/// 供应商
		/// AIT条码.Misc.供应商
		/// </summary>
		[DataMember(IsRequired=false)]
		public System.Int64 Supplier
		{
			get	
			{	
				if (Supplier_SKey == null)
					return UFSoft.UBF.Business.Entity.EmptyObjectValue ;
				else
					return Supplier_SKey.ID ;
			}
			set	
			{	
				if (value == 0 || value == UFSoft.UBF.Business.Entity.EmptyObjectValue )
					Supplier_SKey = null ;
				else
				{
					if (Supplier_SKey == null )
						Supplier_SKey = new UFSoft.UBF.Business.BusinessEntity.EntityKey(value,"UFIDA.U9.CBO.SCM.Supplier.Supplier") ;
					else
						Supplier_SKey.ID = value ;
				}
			}
		}
		

				/// <summary>
		/// 描述性弹性域
		/// AIT条码.Misc.描述性弹性域
		/// </summary>
		[DataMember(IsRequired=false)]
		private UFIDA.U9.Base.FlexField.DescFlexField.DescFlexSegmentsData m_descFlexSegments ;
		public UFIDA.U9.Base.FlexField.DescFlexField.DescFlexSegmentsData DescFlexSegments
		{
			get	
			{	
				return m_descFlexSegments  ;
			}
			set	
			{	
				m_descFlexSegments = value ;	
			}
		}
		

				/// <summary>
		/// 来源行号
		/// AIT条码.Misc.来源行号
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Int32 m_srcDocLineNo ;
		public System.Int32 SrcDocLineNo
		{
			get	
			{	
				return m_srcDocLineNo  ;
			}
			set	
			{	
				m_srcDocLineNo = value ;	
			}
		}
		

				/// <summary>
		/// 备注
		/// AIT条码.Misc.备注
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.String m_memo ;
		public System.String Memo
		{
			get	
			{	
				return m_memo  ;
			}
			set	
			{	
				m_memo = value ;	
			}
		}
		

				/// <summary>
		/// 来源单据行
		/// AIT条码.Misc.来源单据行
		/// </summary>
		[DataMember(IsRequired=false)]
		private UFIDA.U9.Base.PropertyTypes.BizEntityKeyData m_srcDocLine ;
		public UFIDA.U9.Base.PropertyTypes.BizEntityKeyData SrcDocLine
		{
			get	
			{	
				return m_srcDocLine  ;
			}
			set	
			{	
				m_srcDocLine = value ;	
			}
		}
		

				/// <summary>
		/// 等级
		/// AIT条码.Misc.等级
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Int32 m_grade ;
		public System.Int32 Grade
		{
			get	
			{	
				return m_grade  ;
			}
			set	
			{	
				m_grade = value ;	
			}
		}
		

				/// <summary>
		/// 成分
		/// AIT条码.Misc.成分
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Int32 m_element ;
		public System.Int32 Element
		{
			get	
			{	
				return m_element  ;
			}
			set	
			{	
				m_element = value ;	
			}
		}
		

				/// <summary>
		/// 条码数量
		/// AIT条码.Misc.条码数量
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Decimal m_barQty ;
		public System.Decimal BarQty
		{
			get	
			{	
				return m_barQty  ;
			}
			set	
			{	
				m_barQty = value ;	
			}
		}
		
		#endregion	

		#region Multi_Fields
																													
		#endregion 		
	}	

}

